package com.example.springaop3.config;

import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

import java.util.HashMap;

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: 23735
 * Date: 2023-03-15
 * Time: 23:07
 */

// 统一异常处理
@RestControllerAdvice // 表示针对 controller 类的通知(增强类)
public class MyExceptionAdvice {
//    表示针对 算数异常的拦截, 如果发生的异常不匹配, 那么拦截不到
    @ExceptionHandler(Exception.class)
//    拦截的是这种异常类型, 那么得到的一定是 该种异常对象
    public HashMap<String, Object> arithmeticExceptionAdvice(Exception e){
        HashMap<String, Object> result=new HashMap<>();
        result.put("state", -1);
        result.put("data", null);
        result.put("msg", e.getMessage());
        return result;
    }
}
